package com.tanhua.dubbointerface.api;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface MovementApi {

    /**
     * 发布动态
     * @param movement
     */
    void publish(Movement movement);

    /**
     * 返回个人动态分页数据
     * @param userId
     * @param page
     * @param size
     * @return
     */
    PageResult getMovementsVo(Long userId, int page, int size);

    /**
     * 返回好友动态集合
     * @param page
     * @param size
     * @param userId
     * @return
     */
    List<Movement> getFriendsMovements(int page, int size, Long userId);

    /**
     * 获取随机动态
     *
     * @param size
     * @return
     */
    List<Movement> getRandomMovements(int size);

    /**
     * 通过PID获取推荐动态集合
     * @param pIds
     * @return
     */
    List<Movement> getRecommendMovements(List<Long> pIds);

    /**
     * 通过动态id获取动态数据
     * @param id 动态id
     * @return 返回Movement对象
     */
    Movement getMovementByID(String id);

}